package com.info.zhiduoduo.repository.dto.entrustmentproject;

import java.math.BigDecimal;
import java.util.Date;

import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;

@Data
@AllArgsConstructor
@NoArgsConstructor
@Accessors(chain = true)
public class EntrustmentProjectDto {

	/**
	 * 批量导入id
	 */
	@ApiModelProperty("批量导入id")
	private Integer id;
	/**
	 * 发单企业
	 */
	@ApiModelProperty("发单企业")
	private Integer compid;
	/**
	 * 发单企业名称
	 */
	@ApiModelProperty("发单企业名称")
	private String compname;
	/**
	 * 导入的文件原名
	 */
	@ApiModelProperty("导入的文件原名")
	private String originFileName;
	/**
	 * 文件保存路径和名称
	 */
	@ApiModelProperty("文件保存路径和名称")
	private String filePathName;
	/**
	 * 项目备注
	 */
	@ApiModelProperty("项目备注")
	private String remark;
	/**
	 * 项目状态 1:已创建 2:已提交 3:进行中(已分配创客) 4:部分完成 5:全部完成
	 */
	@ApiModelProperty("项目状态 1:已创建 2:已提交 3:进行中(已分配创客) 4:部分完成 5:全部完成")
	private Integer state;
	/**
	 * 导入类型 1: 管理后台 2: 企业后台
	 */
	@ApiModelProperty("导入类型 1: 管理后台 2: 企业后台")
	private Integer importType;
	/**
	 * 项目类型 参考 ProjectType枚举类
	 */
	@ApiModelProperty("项目类型 参考 ProjectType枚举类")
	private Integer projectType;
	/**
	 * 发单总数量
	 */
	@ApiModelProperty("发单总数量")
	private Integer totalItemCount;
	/**
	 * 进行中的项目数量
	 */
	@ApiModelProperty("进行中的项目数量")
	private Integer projectDealingCount;
	/**
	 * 已完成的项目数量
	 */
	@ApiModelProperty("已完成的项目数量")
	private Integer projectCompleteCount;
	/**
	 * 已失败的项目数量
	 */
	@ApiModelProperty("已失败的项目数量")
	private Integer projectFailCount;
	/**
	 * 已完成的项目金额
	 */
	@ApiModelProperty("已完成的项目金额")
	private Integer projectCompleteAmount;
	/**
	 * 已失败的项目金额
	 */
	@ApiModelProperty("已失败的项目金额")
	private Integer projectFailAmount;
	/**
	 * 导入成功的项目数量
	 */
	@ApiModelProperty("导入成功的项目数量")
	private Integer importedItemCount;
	/**
	 * 导入失败的项目数量
	 */
	@ApiModelProperty("导入失败的项目数量")
	private Integer errorItemCount;
	/**
	 * 导入的委托创客无效的数量
	 */
	@ApiModelProperty("导入的委托创客无效的数量")
	private Integer makerInvalidItemCount;
	/**
	 * 发单总金额
	 */
	@ApiModelProperty("发单总金额")
	private BigDecimal importedAmount;
	/**
	 * 总含税金额
	 */
	@ApiModelProperty("总含税金额")
	private BigDecimal importedTaxInclusiveAmount;
	/**
	 * 服务费率
	 */
	@ApiModelProperty("服务费率")
	private Double importedServiceRate;
	/**
	 * 项目总应付金额
	 */
	@ApiModelProperty("项目总应付金额")
	private BigDecimal projectTotalPayableAmount;
	/**
	 * 项目总自然人到账金额
	 */
	@ApiModelProperty("项目总自然人到账金额")
	private BigDecimal projectTotalReceiptAmount;
	/**
	 * 创客团-智众包项目，保证金金额
	 */
	@ApiModelProperty("创客团-智众包项目，保证金金额")
	private BigDecimal depositTotalAmount;
	/**
	 * 企业开票金额=项目总应付金额-保证金金额
	 */
	@ApiModelProperty("企业开票金额=项目总应付金额-保证金金额")
	private BigDecimal projectTotalInvoiceAmount;

	private Date createtime;
	private Date updatetime;
	/**
	 * 项目服务费+综合税费
	 */
	private BigDecimal and1;

	@ApiModelProperty("实际发单企业")
	private String actualCompanyName;

	@ApiModelProperty("支付方式ID")
	private Integer payId;

	@ApiModelProperty("主体ID")
	private Integer partyId;

	@ApiModelProperty("项目交付文件路径集合")
	private String deliveryPaths;

	@ApiModelProperty("验收证据url")
	private String attachmentUrl;

}
